<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<title>总结 | Elasticsearch: 权威指南 | Elastic</title>
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
	<link rel="stylesheet" type="text/css" href="../static/styles.css" />
</head>
<body>
<div class="main-container">
    <section id="content">
        
        <div class="content-wrapper">
            <section id="guide" lang="zh_cn">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                            <div style="color:gray; word-break: break-all; font-size:12px;">原文地址: <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/_closing_thoughts.html" rel="nofollow">https://www.elastic.co/guide/cn/elasticsearch/guide/current/_closing_thoughts.html</a>, 版权归 www.elastic.co 所有<br/>
                            英文版地址: <a href="https://www.elastic.co/guide/en/elasticsearch/guide/current/_closing_thoughts.html" rel="nofollow">https://www.elastic.co/guide/en/elasticsearch/guide/current/_closing_thoughts.html</a>
                            </div>
                        <!-- start body -->
                  <div class="page_header">
<b>请注意:</b><br>本书基于 Elasticsearch 2.x 版本，有些内容可能已经过时。
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch: 权威指南</a></span>
»
<span class="breadcrumb-link"><a href="aggregations.html">聚合</a></span>
»
<span class="breadcrumb-node">总结</span>
</div>
<div class="navheader">
<span class="prev">
<a href="_preventing_combinatorial_explosions.html">« 优化聚合查询</a>
</span>
<span class="next">
<a href="geoloc.html">地理位置 »</a>
</span>
</div>
<div class="chapter">
<div class="titlepage"><div><div>
<h2 class="title">
<a id="_closing_thoughts"></a>总结<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elasticsearch-cn/elasticsearch-definitive-guide/edit/cn/300_Aggregations/125_Conclusion.asciidoc">edit</a>
</h2>
</div></div></div>
<p>本小节涵盖了许多基本理论以及很多深入的技术问题。聚合给 Elasticsearch 带来了难以言喻的强大能力和灵活性。桶(bucket)与度量(metric)的嵌套能力，基数(cardinality)与百分位数(Percentiles)的快速估算能力，定位信息中统计异常的能力，
所有的这些都在近乎实时的情况下操作的，而且全文搜索是并行的，它们改变了很多企业的游戏规则。</p>

<p>聚合有这样一个特点：一旦我们开始使用它，我们就能找到很多其他的可用场景。实时报表与分析对于很多组织来说都是核心功能（无论是应用于商业智能还是服务器日志）。</p>

<p>Elasticsearch 默认给 <em>大多数</em> 字段启用 doc values，所以在一些搜索场景大大的节省了内存使用量，但是需要注意的是只有不分词的字符串(unanalyzed string) 类型的字段才能使用这种特性。</p>

<p>内存的管理形式可以有多种形式，这取决于我们特定的应用场景：</p>
<div class="ulist itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
在规划时，组织好数据，使聚合运行在 <code class="literal">not_analyzed</code> 字符串而不是 <code class="literal">analyzed</code> 字符串，这样可以有效的利用 doc values 。
</li>
<li class="listitem">
在测试时，验证分析链不会在之后的聚合计算中创建 高基数(high cardinality) 字段。
</li>
<li class="listitem">
在搜索时，合理利用近似聚合(approximate aggregations)和数据过滤。
</li>
<li class="listitem">
在节点层，设置硬内存大小以及动态的断熔限制。
</li>
<li class="listitem">
在应用层，通过监视内存使用情况和控制缓慢的垃圾收集周期，可以向集群中添加更多的节点  
</li>
</ul>
</div>
<p>大多数实施会应用到以上一种或几种方法。确切的组合方式与我们特定的系统环境高度相关。</p>
<p>无论采取何种方式，对于现有的选择进行评估，并同时创建短期和长期计划，都十分重要。先决定当前内存的使用情况和需要做的事情（如果有），通过评估数据增长速度，来决定未来半年或者一年的集群的规划，使用何种方式来扩展。</p>

<p>最好提前计划好集群的这些生命周期，而不是在凌晨3点因为集群的堆利用率达到90%而惊慌失措。</p>
</div>
<div class="navfooter">
<span class="prev">
<a href="_preventing_combinatorial_explosions.html">« 优化聚合查询</a>
</span>
<span class="next">
<a href="geoloc.html">地理位置 »</a>
</span>
</div>
</div>

                  <!-- end body -->
                        </div>
                        <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                        
                        </div>
                    </div>
                </div>
            </section>
        </div>
    </section>
</div>
<script src="../static/cn.js"></script>
</body>
</html>